﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Упр) (Имена элементов перечисления должны совпадать с именами групп счетов)
	///</summary>
	[DataContract]
	public enum ВидыАктивов
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"1219cd7a-0e1d-4f7b-a938-0132db068f64\", \"Представление\":\"ДебиторскаяЗадолженностьДолгосрочная\"}")]
		ДебиторскаяЗадолженностьДолгосрочная = 0,//Дебиторская задолженность, долгосрочная
		[EnumMember(Value = "{\"Ссылка\":\"f2b3e1ac-a9bf-4c4d-9dbb-2cf2cf122d1d\", \"Представление\":\"ДебиторскаяЗадолженностьТекущая\"}")]
		ДебиторскаяЗадолженностьТекущая = 1,//Дебиторская задолженность, текущая
		[EnumMember(Value = "{\"Ссылка\":\"d188b6a0-848d-4baf-9db1-f7d79b654b4a\", \"Представление\":\"Запасы\"}")]
		Запасы = 2,
		[EnumMember(Value = "{\"Ссылка\":\"90244f96-e2aa-4c6b-b8a2-10922501f4f0\", \"Представление\":\"Инвестиции\"}")]
		Инвестиции = 3,
		[EnumMember(Value = "{\"Ссылка\":\"911017b0-7278-485e-9ee6-22f8d0762be4\", \"Представление\":\"ИнвестиционнаяСобственностьНетто\"}")]
		ИнвестиционнаяСобственностьНетто = 4,//Инвестиционная собственность
		[EnumMember(Value = "{\"Ссылка\":\"512caa3d-1ffd-4d7a-bd36-02ac472ad5f6\", \"Представление\":\"НематериальныеАктивы\"}")]
		НематериальныеАктивы = 5,//Нематериальные активы
		[EnumMember(Value = "{\"Ссылка\":\"6438a02e-6b78-4c92-ba99-4b709ba7162d\", \"Представление\":\"ОсновныеСредства\"}")]
		ОсновныеСредства = 6,//Основные средства
		[EnumMember(Value = "{\"Ссылка\":\"36b81984-815b-4fdf-a758-8ea92cba5712\", \"Представление\":\"ПрочиеВнеоборотныеАктивы\"}")]
		ПрочиеВнеоборотныеАктивы = 7,//Прочие внеоборотные активы
		[EnumMember(Value = "{\"Ссылка\":\"5e0072b9-ab96-4930-8280-b6ee1c935f57\", \"Представление\":\"ПрочиеДолгосрочныеФинансовыеАктивы\"}")]
		ПрочиеДолгосрочныеФинансовыеАктивы = 8,//Прочие долгосрочные финансовые активы
		[EnumMember(Value = "{\"Ссылка\":\"380479b4-a149-48dc-aca5-9a1c435d3311\", \"Представление\":\"ПрочиеТекущиеАктивы\"}")]
		ПрочиеТекущиеАктивы = 9,//Прочие текущие активы
		[EnumMember(Value = "{\"Ссылка\":\"04a8fc5a-f889-45db-847c-38893902f117\", \"Представление\":\"ФинансовыеВложенияКраткосрочные\"}")]
		ФинансовыеВложенияКраткосрочные = 10,//Финансовые вложения, краткосрочные
	}
	public static partial class ВидыАктивов_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ДебиторскаяЗадолженностьДолгосрочная = new Guid("320138a9-06db-648f-4f7b-0e1d1219cd7a");//Дебиторская задолженность, долгосрочная
		public static readonly Guid ДебиторскаяЗадолженностьТекущая = new Guid("f22cbb9d-12cf-1d2d-4c4d-a9bff2b3e1ac");//Дебиторская задолженность, текущая
		public static readonly Guid Запасы = new Guid("d7f7b19d-659b-4a4b-4baf-848dd188b6a0");
		public static readonly Guid Инвестиции = new Guid("9210a2b8-0125-f0f4-4c6b-e2aa90244f96");
		public static readonly Guid ИнвестиционнаяСобственностьНетто = new Guid("f822e69e-76d0-e42b-485e-7278911017b0");//Инвестиционная собственность
		public static readonly Guid НематериальныеАктивы = new Guid("ac0236bd-2a47-f6d5-4d7a-1ffd512caa3d");//Нематериальные активы
		public static readonly Guid ОсновныеСредства = new Guid("704b99ba-a79b-2d16-4c92-6b786438a02e");//Основные средства
		public static readonly Guid ПрочиеВнеоборотныеАктивы = new Guid("a98e58a7-ba2c-1257-4fdf-815b36b81984");//Прочие внеоборотные активы
		public static readonly Guid ПрочиеДолгосрочныеФинансовыеАктивы = new Guid("eeb68082-931c-575f-4930-ab965e0072b9");//Прочие долгосрочные финансовые активы
		public static readonly Guid ПрочиеТекущиеАктивы = new Guid("1c9aa5ac-5d43-1133-48dc-a149380479b4");//Прочие текущие активы
		public static readonly Guid ФинансовыеВложенияКраткосрочные = new Guid("89387c84-0239-17f1-45db-f88904a8fc5a");//Финансовые вложения, краткосрочные
		public static ВидыАктивов Получить(this ВидыАктивов Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыАктивов Получить(this ВидыАктивов Значение, Guid Ссылка)
		{
			if(Ссылка == ДебиторскаяЗадолженностьДолгосрочная)
			{
				return ВидыАктивов.ДебиторскаяЗадолженностьДолгосрочная;
			}
			else if(Ссылка == ДебиторскаяЗадолженностьТекущая)
			{
				return ВидыАктивов.ДебиторскаяЗадолженностьТекущая;
			}
			else if(Ссылка == Запасы)
			{
				return ВидыАктивов.Запасы;
			}
			else if(Ссылка == Инвестиции)
			{
				return ВидыАктивов.Инвестиции;
			}
			else if(Ссылка == ИнвестиционнаяСобственностьНетто)
			{
				return ВидыАктивов.ИнвестиционнаяСобственностьНетто;
			}
			else if(Ссылка == НематериальныеАктивы)
			{
				return ВидыАктивов.НематериальныеАктивы;
			}
			else if(Ссылка == ОсновныеСредства)
			{
				return ВидыАктивов.ОсновныеСредства;
			}
			else if(Ссылка == ПрочиеВнеоборотныеАктивы)
			{
				return ВидыАктивов.ПрочиеВнеоборотныеАктивы;
			}
			else if(Ссылка == ПрочиеДолгосрочныеФинансовыеАктивы)
			{
				return ВидыАктивов.ПрочиеДолгосрочныеФинансовыеАктивы;
			}
			else if(Ссылка == ПрочиеТекущиеАктивы)
			{
				return ВидыАктивов.ПрочиеТекущиеАктивы;
			}
			else if(Ссылка == ФинансовыеВложенияКраткосрочные)
			{
				return ВидыАктивов.ФинансовыеВложенияКраткосрочные;
			}
			return ВидыАктивов.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыАктивов Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыАктивов Значение)
		{
			switch (Значение)
			{
				case ВидыАктивов.ДебиторскаяЗадолженностьДолгосрочная: return ДебиторскаяЗадолженностьДолгосрочная;
				case ВидыАктивов.ДебиторскаяЗадолженностьТекущая: return ДебиторскаяЗадолженностьТекущая;
				case ВидыАктивов.Запасы: return Запасы;
				case ВидыАктивов.Инвестиции: return Инвестиции;
				case ВидыАктивов.ИнвестиционнаяСобственностьНетто: return ИнвестиционнаяСобственностьНетто;
				case ВидыАктивов.НематериальныеАктивы: return НематериальныеАктивы;
				case ВидыАктивов.ОсновныеСредства: return ОсновныеСредства;
				case ВидыАктивов.ПрочиеВнеоборотныеАктивы: return ПрочиеВнеоборотныеАктивы;
				case ВидыАктивов.ПрочиеДолгосрочныеФинансовыеАктивы: return ПрочиеДолгосрочныеФинансовыеАктивы;
				case ВидыАктивов.ПрочиеТекущиеАктивы: return ПрочиеТекущиеАктивы;
				case ВидыАктивов.ФинансовыеВложенияКраткосрочные: return ФинансовыеВложенияКраткосрочные;
			}
			return Guid.Empty;
		}
	}
}